.\" 
.\" mono manual page.
.\" (C) 2003 Ximian, Inc. 
.\" (C) 2004-2005 Novell, Inc. 
.\" Author:
.\"   Miguel de Icaza (miguel@gnu.org)
.\"
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.TH Mono "mono-xmltool"
.SH NAME
mono-xmltool \- Mono XML validation and transformation tool. 
.SH SYNOPSIS
.PP
.B mono-xmltool --validate [*.rng | *.rnc | *.nvdl | *.xsd] [instances]
.PP
.B mono-xmltool --validate-rng relax-ng-grammar-xml [instances]
.PP
.B mono-xmltool --validate-rnc relax-ng-compact-grammar-file [instances]
.PP
.B mono-xmltool --validate-nvdl nvdl-script-xml [instances]
.PP
.B mono-xmltool --validate-xsd xml-schema [instances]
.PP
.B mono-xmltool --transform stylesheet instance-xml
.PP
.B mono-xmltool --prettyprint [source [result]]
.PP
.SH DESCRIPTION
\fImono-xmltool\fP is a command line front end for various functions
available in the Mono XML class libraries. It currently it offers
validation with various different kinds of schemas, xslt
transformations and pretty printing.
.PP
.SH XML VALIDATION
mono-xmltool can validate a given set of XML files (the instances
parameter) using the given schema file.  Currently supported schema
files include Relax NG (*.rng), Compact Relax NG (*.rnc),
Namespace-based Validation Dispatching Language (*.nvdl) and XML
Schema (*.xsd).
.PP
If invoked with the --validate argument, Mono will use the filename
extension to guess the kind of validation required.  The
--validate-xxx flags would force a specific kind of validation.
.PP
The following lists the flags and the actual class that implements
them in Mono:
.TP
.I --validate-rng 
.Sp
Commons.Xml.Relaxng.RelaxNgPattern as the schema, and
Commons.Xml.Relaxng.RelaxngValidatingReader validator.
.TP
.I --validate-rnc
Commons.Xml.Relaxng.RncParser as the schema, and
Commons.Xml.Relaxng.RelaxngValidatingReader validator.
.TP
.I --validate-nvdl 
.Sp
Commons.Xml.Nvdl as the schema and Commons.Xml.NvdlValidatingReader
validator. 
.TP
.I --validate-xsd
System.Xml.Schema.XmlSchema as the schema and uses
System.Xml.XmlValidatingReader as the validator.
.SH TRANSFORMATIONS
This does an XSLT transformation. The stylesheet must be an XSLT file,
the instance-xml is the document to be processed.  Output it sent to
the standard output.
.SH PRETTY PRINTING
Produces a pretty-print rendering of the 
.I source
file.  If it is not
specified it reads the standard input.   If 
.I result 
is not specified, the output is sent to the standard output.
.SH MAILING LISTS
Mailing lists are listed at the
http://www.mono-project.com/community/help/mailing-lists/
.SH WEB SITE
http://www.mono-project.com
.SH SEE ALSO
.BR mono (1),
.BR mcs (1)
